///字符格式化帮助类
/// exp：str="%s时%s分%s秒"
/// StringFormat.format(str,[1,2,3]);
/// out: 1时2分3秒
class StringFormat {
  ///快速格式化String到只有一个占位符的需格式化的字符串
  static String formatOneStr(String source, String formatValue) {
    return format(source, [formatValue]);
  }

  ///格式化一组对象
  ///[source] 需要被格式化的字符串
  ///[formatValues] 需要格式化到被格式化[source]的一组值，可以是任意类型
  static String format(String source, List<dynamic> formatValues) {
    List<String> splits = source.split("%s");
    String result = "";
    for (int i = 0; i < splits.length; i++) {
      String str = splits[i];
      if (i == 0) {
        result = str;
      } else {
        result = "$result${formatValues[i - 1] ?? ""}$str";
      }
    }
    return result;
  }
}
